# 定义求杨辉三角函数
def triangles():
    b = [1] # 每一行看作一个List
    while True:
        yield b
        b = [1] + [b[i] + b[i+1] for i in range(len(b)-1)] + [1] #这一步很重要,理解这一步是关键
        # 上面这一行实际就是求当前行中的元素，当前行中的某元素的值来等于其位置上一行元素与上一行元素左边一元素值的和（空位置可以补0来理解）
        # 也可以用错位相加的方法
        #  0  b1 b2 0
        #+ b0 b1  
n = 0

for t in triangles():
    print(t)
    n += 1
    if n == 10: # 这一步决定输出多少行，即杨辉三角的大小，同时也定义了List的大小
        break
